From d74b02e1137ddcba26035d4cf783bd991b9d6f22 Mon Sep 17 00:00:00 2001 From: "kaf24@freefall.cl.cam.ac.uk" Date: Tue, 21 Sep 2004 09:46:52 +0000 Subject: [PATCH] bitkeeper revision 1.1159.79.8 (414ff88ctzr9PXDn3DxSGatY15KN7Q) Align size of xen skbuffs. --- linux-2.6.8.1-xen-sparse/arch/xen/kernel/skbuff.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/linux-2.6.8.1-xen-sparse/arch/xen/kernel/skbuff.c b/linux-2.6.8.1-xen-sparse/arch/xen/kernel/skbuff.c index 9f18afe22a..0d0a8c0d47 100644 --- a/linux-2.6.8.1-xen-sparse/arch/xen/kernel/skbuff.c +++ b/linux-2.6.8.1-xen-sparse/arch/xen/kernel/skbuff.c @@ -20,6 +20,10 @@ EXPORT_SYMBOL(__dev_alloc_skb); /* Referenced in netback.c. */ /*static*/ kmem_cache_t *skbuff_cachep; +/* Size must be cacheline-aligned (alloc_skb uses SKB_DATA_ALIGN). */ +#define XEN_SKB_SIZE \ + ((PAGE_SIZE - sizeof(struct skb_shared_info)) & ~(SMP_CACHE_BYTES - 1)) + struct sk_buff *__dev_alloc_skb(unsigned int length, int gfp_mask) { struct sk_buff *skb; @@ -41,8 +45,7 @@ struct sk_buff *__dev_alloc_skb(unsigned int length, int gfp_mask) return NULL; } - new_shinfo = - new_data + PAGE_SIZE - sizeof(struct skb_shared_info); + new_shinfo = new_data + XEN_SKB_SIZE; memcpy(new_shinfo, skb_shinfo(skb), sizeof(struct skb_shared_info)); kfree(skb->head); -- 2.30.2